[小文申精]探索45度斜角穿墙的奥秘~~
id: 1007097701 | 楼主:林卡_Happy | 返回首页
id: 11380883046
1L | 作者:林卡_Happy | 发布于 2011-02-21 20:46

Q:“45度斜角穿墙”乃何许物也?
A:乃MF之BUG也。因触发条件为MARIO到达砖块时与砖块的相对角为45度而得其名。
Q:原来如此。然此物如何?
A:利大于弊。
Q:成因如何?
A:请看这里——
####
MARIO到达砖块时的判定分为两种——
1.当MARIO与砖块的相对角绝对值小于45度时,MARIO的行走速度值变为0,X惯性变为0(估计MW的遇墙不停BUG就是因为行走惯性没有变为0的缘故……),MARIO停止X方向运动。
2.当MARIO与砖块的相对角绝对值大于45度时,MARIO的跳跃/降落速度值变为0,Y惯性变为0,MARIO停止Y方向运动。
----
于是乎,问题就来了……当MARIO与砖块的相对角绝对值等于45度时,该怎么办?
我用FLASH做过试验,结果如下——
假如用第一种判定,那么明明看到MARIO上砖块时比砖块高一个身高,却上不去……违反常理……
假如用第二种判定,那么明明看到MARIO走出砖块一个身长,却下不来……更违反常理……
假如都不用,那么——此BUG就形成了!!
我认为,可能是作者认为使用这两种判定都是违反常理的,就没有编程,就会出现此BUG了!
----
结论:45度斜角穿墙BUG可能是因为作者没有编程当MARIO与砖块的相对角绝对值等于45度时的判定而形成的!!
####
(PS:前面的文言文问答有古文语法错误请告诉我,还有,此结论仅为推测!)
(PS2:我花了半个多小时打字才写好的,我真的很渴望精品!)



id: 11381263747
2L | 作者:Anti_Tencent | 发布于 2011-02-21 21:19

“何许物”改成“何物”更好。


id: 11385451486
3L | 作者:1169559037 | 发布于 2011-02-22 12:27

这是部分马里奥游戏都没有避免的Bug,简单说是利用x和y坐标的一个矛盾点使马里奥同时被向两边拉,所以就被强制推进墙..NDS这点处理的很严密,45°碰墙角只会在墙角顿一下然后到了砖块上方


id: 11388748443
4L | 作者:林卡_Happy | 发布于 2011-02-22 19:27

是啊,所以我除了MF还喜欢玩NDS啊~~
===========
精品!!我要精品!!
我的FLASH实验花了3天时间做的,我打字也花了30分钟……努力总是不能被白白浪费的啊!!



id: 11388848992
5L | 作者:1169559037 | 发布于 2011-02-22 19:38

三代斜穿最轻松...


id: 11388864866
6L | 作者:林卡_Happy | 发布于 2011-02-22 19:39

同意……